<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>

selection_test(
  '<div contenteditable dir="rtl">|ab<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">a|b<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-0 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">a|b<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab|<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-1 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab|<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c|\u05D0\u05D1\u05D2def</span></div>',
  '31-2 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>|c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c|\u05D0\u05D1\u05D2def</span></div>',
  '31-3 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c|\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0|\u05D1\u05D2def</span></div>',
  '31-4 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0|\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1|\u05D2def</span></div>',
  '31-5 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1|\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2|def</span></div>',
  '31-6 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2|def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2d|ef</span></div>',
  '31-7 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2d|ef</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2de|f</span></div>',
  '31-8 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2de|f</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2def|</span></div>',
  '31-9 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2def|</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2def|</span></div>',
  '31-10 rtl left character');

selection_test(
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2def</span>|</div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="rtl">ab<span>c\u05D0\u05D1\u05D2def</span>|</div>',
  '31-11 rtl left character');
</script>
